package config

import (
	"public.com/goutil/configUtil"
	"public.com/goutil/logUtil"
)

// 监控服务配置
type monitorConfig struct {
	// 本机的外网地址
	ServerIP string

	// 监控使用的服务器名称
	ServerName string

	// 监控的时间间隔（单位：分钟）
	Interval int
}

var (
	monitorConfigObj *monitorConfig
)

// 新建监控配置对象
func newMonitorConfig(serverIp string, serverName string, interval int) *monitorConfig {
	return &monitorConfig{
		ServerIP:   serverIp,
		ServerName: serverName,
		Interval:   interval,
	}
}

// 初始化监控配置数据
func initMonitorConfig(configObj *configUtil.XmlConfig) error {
	logUtil.DebugLog("开始加载MonitorConfig")

	tmpConfig := new(monitorConfig)
	if err := configObj.Unmarshal("root/MonitorConfig", tmpConfig); err != nil {
		return err
	}

	monitorConfigObj = tmpConfig

	return nil
}

// 获取监控配置对象
func GetMonitorConfig() *monitorConfig {
	return monitorConfigObj
}
